package demo1125;

import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.config.IniSecurityManagerFactory;
import org.apache.shiro.mgt.SecurityManager;
import org.apache.shiro.subject.Subject;
import org.apache.shiro.util.Factory;

/**
 * 2019/11/25
 * 键盘敲烂，月薪过万
 * 登高必自卑，行远必自迩。
 * 不忘初心：像初学者一样拥有一颗谦虚、开放的心态。
 * 李学峰
 */
public class Demo1 {
    public static void main(String[] args) {
        //1创建安全管理器对象工厂
        Factory<SecurityManager> iniSecurityManagerFactory =
                 new IniSecurityManagerFactory("classpath:user.ini");
    //2.安全管理器
        SecurityManager instance = iniSecurityManagerFactory.getInstance();

        //3.使框架管理对象
        SecurityUtils.setSecurityManager(instance);
        //4创建主体subject对象
        Subject subject = SecurityUtils.getSubject();
        //5.指定用户名和密码
        UsernamePasswordToken token = new UsernamePasswordToken("zhangsan", "123");
        //6提交用户名和密码
        subject.login(token);
        //7得到认证结果,
        System.out.println("认证结果"+subject.isAuthenticated());
        //8当用户退出时,返回false

    }
}
